00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _MODELCONSTANTS_HH_
00026 #define _MODELCONSTANTS_HH_
00027
00028 #include <utility>
00029
00030
00031 #define AVATAR_OFFSET 0x14
00032
00033
00034 #define BALLOON_LATITUDE_OFFSET 0xF1
00035
00036
00037 #define BALLOON_LONGITUDE_OFFSET 0xF0
00038
00039
00040 #define CHECKSUM_OFFSET 0x00
00041
00042
00043 #define CURRENT_HP_OFFSET 0x71
00044
00045
00046 #define CURRENT_MP_OFFSET 0x91
00047
00048
00049 #define DEXTERITY_OFFSET 0xB1
00050
00051
00052 #define EQUIPMENT_OFFSET 0x39
00053
00054
00055 #define EXPERIENCE_OFFSET 0xB9
00056
00057
00058 #define GOLD_OFFSET 0x27
00059
00060
00061 #define HERB_OFFSET 0x1F
00062
00063
00064 #define INTELLIGENCE_OFFSET 0xA9
00065
00066
00067 #define JOINED_OFFSET 0xB
00068
00069
00070 #define LEVEL_OFFSET 0x69
00071
00072
00073 #define MAGIC_OFFSET 0x1B
00074
00075
00076 #define MAX_HP_OFFSET 0x81
00077
00078
00079 #define MAX_MP_OFFSET 0x99
00080
00081
00082 #define MEMBER_OFFSET 0x15
00083
00084
00085 #define MOON_OFFSET 0x01
00086
00087
00088 #define NAME_OFFSET 0x02
00089
00090
00091 #define PIRATESHIP_OFFSET 0xED
00092
00093
00094 #define PIRATESHIP_LATITUDE_OFFSET 0xF5
00095
00096
00097 #define PIRATESHIP_LONGITUDE_OFFSET 0xF4
00098
00099
00100 #define RUNES_OFFSET 0x1A
00101
00102
00103 #define SANITY_OFFSET 0x1900
00104
00105
00106 #define SANITY_XOR1 0xAA
00107
00108
00109 #define SANITY_XOR2 0x55
00110
00111
00112 #define SAVE_SIZE 0x200
00113
00114
00115 #define SRAM_OFFSET 0x1A00
00116
00117
00118 #define SRAM_SIZE 0x2000
00119
00120
00121 #define START_LOCATION 0x107
00122
00123
00124 #define STONES_OFFSET 0x19
00125
00126
00127 #define STRENGTH_OFFSET 0xA1
00128
00129
00130 #define TOOL_OFFSET 0x29
00131
00132
00133 #define VIRTUE_OFFSET 0x0C
00134
00135
00136 #define WHIRLPOOL_LATITUDE_OFFSET 0xF3
00137
00138
00139 #define WHIRLPOOL_LONGITUDE_OFFSET 0xF2
00140
00141 namespace hack4u {
00142
00143 enum Character {MAGE, BARD, FIGHTER, DRUID,
00144 TINKER, PALADIN, RANGER, SHEPHERD};
00145
00146
00147 enum City {MOONGLOW, BRITAIN, JHELOM, YEW,
00148 MINOC, TRINSIC, SKARABRAE, MAGINCIA};
00149
00150
00151 enum Herb {ASH, GINSENG, GARLIC, SILKWEB, MOSS, PEARL, FUNGUS, MANROOT};
00152
00153
00154 enum Magic {LIGHT, MISSILE, AWAKEN, CURE, WIND, HEAL, FIRE, EXIT, DISPEL,
00155 VIEW, PROTECT, ICE, BLINK, ENERGY, QUICK, INVALID1, SLEEP,
00156 REFLECT, NEGATE, INVALID2, DESTROY, JINX, SQUISH, GATE,
00157 TREMOR, LIFE, INVALID3, DEFEAT};
00158
00159
00160 enum Moon {TRAMMEL, FELUCCA};
00161
00162
00163 enum PirateShip {SHIP1, SHIP2, SHIP3, SHIP4};
00164
00165
00166 enum StartLocation {MOONGLOW_INN = 0x5, BRITAIN_INN, JHELOM_INN, YEW_INN,
00167 MINOC_INN, TRINSIC_INN, SKARABRAE_INN,
00168 VESPER_INN = 0xE};
00169
00170
00171 enum Tool {TORCH, GEM, KEY, OIL, SEXTANT, SCALE, FLUTE, CANDLE, BOOK,
00172 BELL, WHEEL, HORN, SKULL, TRUTHKEY, COURAGEKEY, LOVEKEY};
00173
00174
00175 enum Virtue {HONESTY, COMPASSION, VALOR, JUSTICE,
00176 SACRIFICE, HONOR, SPIRITUALITY, HUMILITY};
00177
00178
00179 extern const std::pair<int, int> FOUND_RUNES_OFFSET[];
00180
00181
00182 extern const std::pair<int, int> FOUND_STONES_OFFSET[];
00183
00184
00185 extern const std::pair<int, int> FOUND_BELL_OFFSET;
00186
00187
00188 extern const std::pair<int, int> FOUND_BOOK_OFFSET;
00189
00190
00191 extern const std::pair<int, int> FOUND_CANDLE_OFFSET;
00192
00193
00194 extern const std::pair<int, int> FOUND_FLUTE_OFFSET;
00195
00196
00197 extern const std::pair<int, int> FOUND_HORN_OFFSET;
00198
00199
00200 extern const std::pair<int, int> FOUND_SCALE_OFFSET;
00201
00202
00203 extern const std::pair<int, int> FOUND_SKULL_OFFSET;
00204 }
00205
00206 #endif
00207